import transForm from './transform' // 这个文件不存在啊
import mapTypeList from '@/utils/ol/maptype'
import { setMap, getMap } from '@/utils/ol/maptools'

export const wsg2mapcoor = (lng: number, lat: number) => {
  let localMap = getMap() || '0' // type
  // 转换数据
  let path
  switch (localMap) {
    // 高德
    case '0':
      path = transForm.wgs2gcj(lng, lat)
      break
    // bing
    case '2':
      path = transForm.wgs2gcj(lng, lat)
      break
    // 百度
    case '3':
      // path = transForm.wgs2bd(lng, lat)
      path = transForm.wgs2gcj(lng, lat)
      break
    default:
      path = [lng, lat] //
      break
  }
  return {
    lng: path[0],
    lat: path[1]
  }
}

export const mapcoor2wsg = (lng: number, lat: number) => {
  let localMap = getMap() || '0' // type
  // 转换数据
  let path
  switch (localMap) {
    // 高德
    case '0':
      path = transForm.gcj2wgs(lng, lat)
      break
    // 百度
    case '3':
      path = transForm.bd2wgs(lng, lat)
      break
    // 默认不需要转坐标
    default:
      path = [lng, lat]
      break
  }
  return {
    lng: path[0],
    lat: path[1]
  }
}

/**
 * 读取转换数据
 * @param {*} localMap 地图类型
 * @param {*} lng 经度
 * @param {*} lat 纬度
 */
export function wsg2mapcoorOrg(localMap: string, lng: number, lat: number) {
  // 转换数据
  let path
  switch (localMap) {
    // 高德
    case '0':
      path = transForm.wgs2gcj(lng, lat)
      break
    // bing
    case '2':
      path = transForm.wgs2gcj(lng, lat)
      break
    // 百度
    case '3':
      path = transForm.wgs2bd(lng, lat)
      break
    default:
      path = [lng, lat] //
      break
  }
  return {
    lng: path[0],
    lat: path[1]
  }
}

/**
 * 上传转换数据
 * @param {*} localMap 地图类型
 * @param {*} lng 经度
 * @param {*} lat 纬度
 */
export function mapcoor2wsgOrg(localMap: string, lng: number, lat: number) {
  // 转换数据
  let path
  switch (localMap) {
    // 高德
    case '0':
      path = transForm.gcj2wgs(lng, lat)
      break
    // 百度
    case '3':
      path = transForm.bd2wgs(lng, lat)
      break
    // 默认不需要转坐标
    default:
      path = [lng, lat]
      break
  }
  return {
    lng: path[0],
    lat: path[1]
  }
}
